home *** CD-ROM | disk | FTP | other *** search
/ Chip 2007 January, February, March & April / Chip-Cover-CD-2007-02.iso / Pakiet bezpieczenstwa / mini Pentoo LiveCD 2006.1 / mpentoo-2006.1.iso / livecd.squashfs / usr / include / bits / msq.h < prev    next >
C/C++ Source or Header  |  2006-05-08  |  3KB  |  78 lines

  1. /* Copyright (C) 1995, 1996, 1997, 2000 Free Software Foundation, Inc.
  2.    This file is part of the GNU C Library.
  3.  
  4.    The GNU C Library is free software; you can redistribute it and/or
  5.    modify it under the terms of the GNU Lesser General Public
  6.    License as published by the Free Software Foundation; either
  7.    version 2.1 of the License, or (at your option) any later version.
  8.  
  9.    The GNU C Library is distributed in the hope that it will be useful,
  10.    but WITHOUT ANY WARRANTY; without even the implied warranty of
  11.    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
  12.    Lesser General Public License for more details.
  13.  
  14.    You should have received a copy of the GNU Lesser General Public
  15.    License along with the GNU C Library; if not, write to the Free
  16.    Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA
  17.    02111-1307 USA.  */
  18.  
  19. #ifndef _SYS_MSG_H
  20. # error "Never use <bits/msq.h> directly; include <sys/msg.h> instead."
  21. #endif
  22.  
  23. #include <bits/types.h>
  24.  
  25. /* Define options for message queue functions.  */
  26. #define MSG_NOERROR    010000    /* no error if message is too big */
  27. #ifdef __USE_GNU
  28. # define MSG_EXCEPT    020000    /* recv any msg except of specified type */
  29. #endif
  30.  
  31. /* Types used in the structure definition.  */
  32. typedef unsigned long int msgqnum_t;
  33. typedef unsigned long int msglen_t;
  34.  
  35.  
  36. /* Structure of record for one message inside the kernel.
  37.    The type `struct msg' is opaque.  */
  38. struct msqid_ds
  39. {
  40.   struct ipc_perm msg_perm;    /* structure describing operation permission */
  41.   __time_t msg_stime;        /* time of last msgsnd command */
  42.   unsigned long int __unused1;
  43.   __time_t msg_rtime;        /* time of last msgrcv command */
  44.   unsigned long int __unused2;
  45.   __time_t msg_ctime;        /* time of last change */
  46.   unsigned long int __unused3;
  47.   unsigned long int __msg_cbytes; /* current number of bytes on queue */
  48.   msgqnum_t msg_qnum;        /* number of messages currently on queue */
  49.   msglen_t msg_qbytes;        /* max number of bytes allowed on queue */
  50.   __pid_t msg_lspid;        /* pid of last msgsnd() */
  51.   __pid_t msg_lrpid;        /* pid of last msgrcv() */
  52.   unsigned long int __unused4;
  53.   unsigned long int __unused5;
  54. };
  55.  
  56. #ifdef __USE_MISC
  57.  
  58. # define msg_cbytes    __msg_cbytes
  59.  
  60. /* ipcs ctl commands */
  61. # define MSG_STAT 11
  62. # define MSG_INFO 12
  63.  
  64. /* buffer for msgctl calls IPC_INFO, MSG_INFO */
  65. struct msginfo
  66.   {
  67.     int msgpool;
  68.     int msgmap;
  69.     int msgmax;
  70.     int msgmnb;
  71.     int msgmni;
  72.     int msgssz;
  73.     int msgtql;
  74.     unsigned short int msgseg;
  75.   };
  76.  
  77. #endif /* __USE_MISC */
  78.